﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace Model
{
    /// <summary>
    /// 处理器
    /// 所有Entity 和 Componet的父类
    /// </summary>
    public class Disposer : IDisposable
    {

        public long Id { get; set; }

        /// <summary>
        /// 是否来之池子
        /// </summary>
        [NotMapped]
        public bool IsFromPool { get; set; }

        protected Disposer()
        {
            this.Id = IdGenerater.GeneraterId();
            // 添加到对象事件列表中
            ObjectEvents.Instance.Add(this);
        }

        public virtual void Dispose()
        {
            this.Id = 0;
            if (IsFromPool)
            {
                // 放到对象池中

            }
        }
    }
}
